/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package persistencia;

import beans.Usuario;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.util.Map;

/**
 *
 * @author Paulo de Tarso e Jefferson Ricardo
 */
public class Persistencia {

    /**
     * Método que retorna um Map de usuários carregado por um arquivo.
     * @return Map de usuários.
     * @throws IOException Exceção de entrada e saída.
     * @throws ClassNotFoundException Exceção de classe não encontrada.
     */
    public Map<String, Usuario> carregarObjeto() throws IOException, ClassNotFoundException {
        Map<String, Usuario> usuarios;
        ObjectInputStream input = null;
        try {
            input = new ObjectInputStream(new BufferedInputStream(new FileInputStream("dados")));
            usuarios = (Map<String, Usuario>) input.readObject();
            return usuarios;
        } finally {
            input.close();
        }
    }

    /**
     * Método que grava um Map de usuários dentro de um arquivo.
     * @param usuarios Map de usuarios a serem gravados no arquivo.
     * @throws IOException Exceção de entrada e saída.
     */
     public void gravarObjeto(Map<String, Usuario> usuarios) throws IOException {
        ObjectOutputStream output = null;
        try {
            output = new ObjectOutputStream(new BufferedOutputStream(new FileOutputStream("dados")));
            output.writeObject(usuarios);
        } finally {
            output.close();
        }
    }

}
